Distributed Continuous Quality Assurance Process for Evaluating QoS of Performance-Intensive Software
نویسندگان
چکیده
Performance-intensive software is increasingly being used on heterogeneous combinations of OS, compiler, and hardware platforms. Examples include reusable middleware that forms the basis for scientific computing grids and distributed real-time and embedded systems. Since this software has stringent quality of service (QoS) requirements, it often provides a multitude of configuration options that can be tuned for specific application workloads and run-time environments. As performance-intensive systems evolve, developers typically conduct quality assurance (QA) tasks in-house, on a small number of configurations to identify and alleviate overhead that degrades performance. QA performed solely in-house is inadequate because of time/resource constraints, and insufficient to manage software variability, i.e., ensuring software quality on all supported target platforms across all desired configuration options. This paper addresses limitations with in-house QA for performance-intensive software by applying the Skoll distributed continuous quality assurance (DCQA) processes, to improve software performance iteratively, opportunistically, and efficiently around-the-clock in multiple, geographically distributed locations. It describes model driven tools that allow Skoll users to capture the system’s axes of variability (such as configuration options, QoS strategies, and platform dependencies). It describes experiments that apply Skoll to evaluate and improve the performance of DRE component middleware on a range of platforms and configuration options. The results show that automatic analysis of QA task results can significantly improve software quality by capturing the impact of software variability on performance and providing feedback to help developers optimize performance.
منابع مشابه
A Model-based Distributed Continuous Quality Assurance Process to Enhance the Quality of Service of Evolving Performance-intensive Software Systems
Time and resource constraints often force developers of highly configurable systems, such as that found in performance-intensive software, to assess their system’s performance on very few configurations and to extrapolate from these to the entire configuration space, which allows many performance bottlenecks and sources of QoS degradation to escape detection until systems are fielded. To improv...
متن کاملValidating Quality of Service for Reusable Software Via Model-Integrated Distributed Continuous Quality Assurance
Quality assurance (QA) tasks, such as testing, profiling, and performance evaluation, have historically been done in-house on developer-generated workloads and regression suites. Performance-intensive systems software, such as that found in the scientific computing grid and distributed real-time and embedded (DRE) domains, increasingly run on heterogeneous combinations of OS, compiler, and hard...
متن کاملA Distributed Continuous Quality Assurance Process to Manage Variability in Performance-intensive Software
Performance-intensive software is increasingly being used on heterogeneous combinations of OS, compiler, and hardware platforms. Examples include reusable middleware that forms the basis for scientific computing grids and distributed realtime and embedded systems. Since this software has stringent quality of service (QoS) requirements, it often provides a multitude of configuration options that...
متن کاملApplying Model-based Distributed Continuous Quality Assurance Processes to Enhance Persistent Software Attributes
Time and resource constraints often force developers of highly configurable quality of service (QoS)-intensive software systems to guarantee their system’s persistent software attributes (PSAs) (e.g., functional correctness, portability, efficiency, and QoS) on very few platform configurations and to extrapolate from these configurations to the entire configuration space, which allows many sour...
متن کاملContinuous QoS Provisioning of Large-scale Component-based Systems using Model-driven Engineering
Continuous integration and quality-of-service (QoS) provisioning is becoming increasingly important in the software development lifecycle of largescale distributed systems. This poster describes an approach that uses modeldriven engineering and generative programming techniques to provide continuous QoS provisioning of large-scale distributed systems throughout the entire development lifecycle,...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Stud. Inform. Univ.
دوره 4 شماره
صفحات -
تاریخ انتشار 2005